課程資訊
課程名稱
演算法
Algorithms 
開課學期
106-2 
授課對象
電機資訊學院  電機工程學系  
授課教師
李建模 
課號
EE4033 
課程識別碼
901 39000 
班次
 
學分
3.0 
全/半年
半年 
必/選修
選修 
上課時間
星期二7,8,9(14:20~17:20) 
上課地點
電二143 
備註
總人數上限:100人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1062_algorithms 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

This class introduces basic concepts of design and analysis of computer algorithms. The course contents include fundamental knowledge, sorting, trees, dynamic programming, graphs, NP-completeness and etc. 

課程目標
Students will learn how to design and analyze algorithms as well as implement it in C or C++ codes to solve problems. 
課程要求
Computer programming skills in C or C++ is needed.
Students are required to program in Linux systems.
Background in data structures is a plus but not required.
Grading is based on homework, programming assignments, exam, project and etc. 
預期每週課後學習時數
 
Office Hours
另約時間 
指定閱讀
Cormen, Leiserson, Rivest, Stien, Introduction to Algorithms, 3rd edition, MIT Press, 2009.  
參考書目
 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
第1週
  Introduction
Foundations 
第2週
  Foundation/sorting 
第3週
  Sorting 
第4週
  Advanced Design Dynamic Programming 
第5週
  Advanced Designs 
第6週
  vacation 
第7週
  Data Structure : Trees 
第8週
  Graphs: Introduction 
第9週
  Midterm Exam 
第10週
  Graphs: MST 
第11週
  NP-complete 
第12週
  Graphs: Shortest Paths 
第13週
  Graphs: Flow 
第14週
  Project Presentation 1 
第15週
  Approximation methods
Optimizations 
第16週
  Amortized Analysis 
第17週
  Project Presentation 2
Matrix  
第18週
  Final Quiz + Demo